The present invention relates generally to television systems, and more particularly, to a method and apparatus for capturing broadcast Electronic Program Guide (EPG) data and for displaying program titles on the television screen as the viewer changes channels, using the captured EPG data.
Electronic Program Guides (EPGs) for television systems are currently in widespread use. In general, EPG systems provide program schedule information indicating the title of the broadcast program currently being aired or scheduled to be aired on each available channel for a given window of time (e.g., for a one-hour window), and the scheduled run times for each broadcast program scheduled to air during the given window of time. The program schedule information is presented or displayed in a variety of different formats, the most prevalent being a matrix presentation format, such as the one depicted in FIG. 1, wherein the channels (or station IDs) are listed in a separate (left-hand) column (i.e., as row headers), the starting times for the listed programs provided as column headers in a separate row at the top of the display, and the program titles being listed in rows next to the channel on which they are scheduled to run under the appropriate column (run time) headers.
Most presently known EPGs are broadcast over a separate (dedicated) satellite or cable channel, and can only be viewed by tuning to that channel. Thus, when a viewer desires to consult the EPG to find out what program is playing on one or more different channels at a particular time(s), the viewer must switch to the EPG channel, and then view the EPG displayed on that channel. However, the EPG is typically provided as a slow-scrolling display, thereby requiring the viewer to wait until the display xe2x80x9creachesxe2x80x9d the channel(s) and time period of interest to him or her. This process is cumbersome and inconvenient, and does not fully take into account the normal viewing habits of the typical television user. More particularly, viewers typically navigate through different channels of interest in order to ascertain what programs are currently being run on these channels by skimming or xe2x80x9csurfingxe2x80x9d through these channels with the aid of a remote control device (remote controller), a practice commonly referred to as xe2x80x9cchannel surfingxe2x80x9d. However, as the viewer surfs through the different channels, he or she needs to guess which program is currently being aired on a particular channel on the basis of whatever video is being displayed at the moment in time that the viewer tunes into that particular channel. Moreover, since a significant percentage (e.g., 30%) of the programming that will be encountered as the viewer rapidly surfs through the different channels is advertising, the viewer is not provided with even a clue as to what program is currently airing on those channels on which an advertisement is encountered. Therefore, the viewer is left with the choice of either skipping over all channels on which he or she encounters an advertisement, or waiting until the advertisement(s) is over and the program returns.
A few solutions to the above-described problem have been proposed. One proposed solution is an interactive EPG service that allows the viewer to transmit specific requests for program schedule information via a back-channel (i.e., up-link). However, such interactive EPG systems are complex and expensive to implement, and present other problems such as wiring difficulties, bandwidth constraints, and personal data security concerns. In short, interactive EPG systems are undesirable or impractical for most consumer television systems in use today.
Another solution that has been proposed is disclosed in U.S. Pat. No. 5,589,892, issued to Knee et al., the disclosure of which is fully incorporated herein by reference, for all purposes. The ""892 patent discloses an EPG system that displays current programming information for each channel that is encountered as the viewer surfs through the channels of interest, on a real-time basis. A data processor in the television receiver and/or the set-top box stores in a local memory television program schedule information for a plurality of television programs received from an EPG data feed. A user control apparatus, such as a remote controller, is utilized by the viewer to select user control commands for transmission to the data processor. A video display generator receives video control commands from the data processor, and program schedule information from the local memory, and displays pertinent program information (e.g., channel number, start and stop time, and program title) for each given channel in overlaying relationship to the television program being shown on that given channel, as the viewer surfs through the channels, e.g., in a xe2x80x9cflipxe2x80x9d or xe2x80x9cbrowsexe2x80x9d mode of operation. Thus, the data processor controls the video display generator, in response to user control commands (e.g., a xe2x80x9cflipxe2x80x9d mode activation command), to display program information for any selected channel in overlaying relationship to the television program then appearing on the selected channel, on a real-time basis, as the viewer surfs through the channels of interest.
Although the EPG system disclosed in the ""892 patent constitutes a potentially attractive solution to the fundamental problem discussed hereinabove with the presently available EPG systems, it suffers from a fundamental shortcoming. More particularly, the EPG system disclosed in the ""892 patent requires a separate EPG data feed that is non-existent in many television systems. Thus, this EPG system simply can not be utilized in any television system which does not receive a separate EPG data feed.
Thus, there presently exists a need in the art for a system for displaying program information for each channel, when desired by a viewer, which overcomes the fundamental shortcoming of the EPG system disclosed in the ""892 patent. In other words, what is needed is a system that achieves the functionality of the system disclosed in the ""892 patent, but that can be utilized in conjunction with television systems that only receive the broadcast EPG video signal, and that do not receive a separate EPG data feed. The present invention fulfills this need in the art.
The present invention encompasses, in one of its aspects, a method for providing programming information to a viewer. The method includes steps of capturing an image of a broadcast video signal that includes EPG data; extracting programming information from the captured image; storing the extracted programming information; retrieving at least selected portions of the stored programming information (the retrieved programming information preferably including at least a program title that identifies a current [and/or future] program being carried on a channel selected by the viewer); and, displaying concurrently both the current program carried on the selected channel and the retrieved programming information, on a display. The capturing, extracting, and storing steps are performed periodically in order to regularly update the stored programming information. Preferably, the displaying step is performed by displaying the retrieved programming information in overlaying relationship to the current program, and is discontinued upon the lapse of a prescribed time period. In one embodiment, the retrieving and displaying steps are performed in response to the viewer changing channels, each time that the viewer changes channels when channel surfing.
In another of its aspects, the present invention encompasses an apparatus for performing the method of the present invention. The apparatus can be incorporated into a television set or a television set-top box.
In yet another of its aspects, the present invention encompasses a television system that includes a first tuner; a second tuner that receives a program video signal carried on a channel selected by a viewer; a data processor (e.g., a microprocessor); an image capture module having an input coupled to an output of the first tuner and an output coupled to an input of the microprocessor; a video display generator having a first input coupled to an output of the second tuner and a second input coupled to an output of the microprocessor. The microprocessor is programmed to at least periodically tune the first tuner to an EPG channel that carries a broadcast video signal that includes EPG data, and to periodically control the image capture module to capture an image of the broadcast video signal that includes EPG data. The microprocessor is also programmed to at least periodically extract programming information from the captured image, and to store the extracted programming information. The microprocessor is also programmed to retrieve at least selected portions of the stored programming information (the retrieved programming information preferably including at least a program title that identifies a current [and/or future] program being carried on the channel selected by the viewer), and to supply the retrieved programming information to the video display generator, whereby the video display generator simultaneously displays both the current program carried on the selected channel and the retrieved programming information on a video display. In a disclosed embodiment, the television system is programmed to perform a set-up routine that trains the microprocessor to recognize a presentation format of the EPG data contained in the broadcast video signal received over the EPG channel, and to recognize the locations of different data fields of the EPG data contained in the broadcast video signal received over the EPG channel, whereby the microprocessor uses this location information in extracting the programming information from the captured image.